From d0b80baa985b516fb08ca206c69c5905e816cceb Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Wed, 25 Feb 2015 14:56:03 +0000 Subject: [PATCH] gentypes: zero out structure in _dispose function Original the structure was memset to a poison value. That prevented _dispose to be made idempotent. We should stop doing so. Memseting the structure to 0 makes all pointers in structure become NULL, which can be handled by free(). Signed-off-by: Wei Liu Cc: Ian Campbell Cc: Ian Jackson Acked-by: Ian Campbell --- tools/libxl/gentypes.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/libxl/gentypes.py b/tools/libxl/gentypes.py index d9e14fde67..afd4eeab03 100644 --- a/tools/libxl/gentypes.py +++ b/tools/libxl/gentypes.py @@ -636,7 +636,6 @@ if __name__ == '__main__': #include "libxl_internal.h" -#define LIBXL_DTOR_POISON 0xa5 """ % " ".join(sys.argv)) @@ -644,7 +643,7 @@ if __name__ == '__main__': f.write("void %s(%s)\n" % (ty.dispose_fn, ty.make_arg("p"))) f.write("{\n") f.write(libxl_C_type_dispose(ty, "p")) - f.write(" memset(p, LIBXL_DTOR_POISON, sizeof(*p));\n") + f.write(" memset(p, 0, sizeof(*p));\n") f.write("}\n") f.write("\n") -- 2.30.2